package cn.kevenpotter.leetcode.easy.e14;

public class LongestCommonPrefix {

    public static void main(String[] args) {
        System.out.println(longestCommonPrefix(new String[]{"flower", "flow", "flight"}));
    }

    public static String longestCommonPrefix(String[] strs) {
        if (strs == null || strs.length == 0) return "";
        String prefix = strs[0];
        int counts = strs.length;
        for (int i = 1; i < counts; i++) {
            prefix = longestCommonPrefix(prefix, strs[i]);
            if (prefix.length() == 0) break;
        }
        return prefix;
    }

    private static String longestCommonPrefix(String str1, String str2) {
        int index = 0;
        int length = Math.min(str1.length(), str2.length());
        while (index < length && str1.charAt(index) == str2.charAt(index)) index++;
        return str1.substring(0, index);
    }
}
